{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "#竞赛评价指标为logloss，linearSVC不支持概率\n",
    "#可以通过概率校准工具CalibratedClassifierCV实现概率转换\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn.metrics import confusion_matrix\n",
    "\n",
    "from matplotlib import pyplot "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "dpath='E:\\\\csdn\\\\198-142-1-1550390063\\\\FE_pima-indians-diabetes.csv'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pregnants</th>\n",
       "      <th>Plasma_glucose_concentration</th>\n",
       "      <th>blood_pressure</th>\n",
       "      <th>Triceps_skin_fold_thickness</th>\n",
       "      <th>serum_insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>Diabetes_pedigree_function</th>\n",
       "      <th>Age</th>\n",
       "      <th>Target</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.639947</td>\n",
       "      <td>0.866045</td>\n",
       "      <td>-0.031990</td>\n",
       "      <td>0.670643</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>0.166619</td>\n",
       "      <td>0.468492</td>\n",
       "      <td>1.425995</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.844885</td>\n",
       "      <td>-1.205066</td>\n",
       "      <td>-0.528319</td>\n",
       "      <td>-0.012301</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>-0.852200</td>\n",
       "      <td>-0.365061</td>\n",
       "      <td>-0.190672</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.233880</td>\n",
       "      <td>2.016662</td>\n",
       "      <td>-0.693761</td>\n",
       "      <td>-0.012301</td>\n",
       "      <td>-0.181541</td>\n",
       "      <td>-1.332500</td>\n",
       "      <td>0.604397</td>\n",
       "      <td>-0.105584</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.844885</td>\n",
       "      <td>-1.073567</td>\n",
       "      <td>-0.528319</td>\n",
       "      <td>-0.695245</td>\n",
       "      <td>-0.540642</td>\n",
       "      <td>-0.633881</td>\n",
       "      <td>-0.920763</td>\n",
       "      <td>-1.041549</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-1.141852</td>\n",
       "      <td>0.504422</td>\n",
       "      <td>-2.679076</td>\n",
       "      <td>0.670643</td>\n",
       "      <td>0.316566</td>\n",
       "      <td>1.549303</td>\n",
       "      <td>5.484909</td>\n",
       "      <td>-0.020496</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   pregnants  Plasma_glucose_concentration  blood_pressure  \\\n",
       "0   0.639947                      0.866045       -0.031990   \n",
       "1  -0.844885                     -1.205066       -0.528319   \n",
       "2   1.233880                      2.016662       -0.693761   \n",
       "3  -0.844885                     -1.073567       -0.528319   \n",
       "4  -1.141852                      0.504422       -2.679076   \n",
       "\n",
       "   Triceps_skin_fold_thickness  serum_insulin       BMI  \\\n",
       "0                     0.670643      -0.181541  0.166619   \n",
       "1                    -0.012301      -0.181541 -0.852200   \n",
       "2                    -0.012301      -0.181541 -1.332500   \n",
       "3                    -0.695245      -0.540642 -0.633881   \n",
       "4                     0.670643       0.316566  1.549303   \n",
       "\n",
       "   Diabetes_pedigree_function       Age  Target  \n",
       "0                    0.468492  1.425995       1  \n",
       "1                   -0.365061 -0.190672       0  \n",
       "2                    0.604397 -0.105584       1  \n",
       "3                   -0.920763 -1.041549       0  \n",
       "4                    5.484909 -0.020496       1  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1=pd.read_csv(dpath)\n",
    "train1.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train=train1['Target']\n",
    "x_train=train1.drop(['Target'],axis=1)\n",
    "\n",
    "feat_names=x_train.columns\n",
    "\n",
    "#转化为sklearn中的稀疏矩阵\n",
    "from scipy.sparse import csr_matrix\n",
    "x_train=csr_matrix(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7669270833333334\n",
      "{'C': 0.01}\n",
      "0.7734375\n",
      "{'C': 10}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "E:\\Anaconda3\\lib\\site-packages\\sklearn\\svm\\base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n"
     ]
    }
   ],
   "source": [
    "#pima糖尿病案例数据集不算大，所以可以直接用交叉验证\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.svm import LinearSVC\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "Cs=[0.001,0.01,0.1,1,10,100,1000]\n",
    "param_grid={'C':Cs}\n",
    "grid=GridSearchCV(SVC(kernel='linear'),param_grid,cv=5,n_jobs=4)\n",
    "gridlinear=GridSearchCV(LinearSVC(),param_grid,cv=5,n_jobs=4)\n",
    "\n",
    "grid.fit(x_train,y_train)\n",
    "gridlinear.fit(x_train,y_train)\n",
    "print(grid.best_score_)\n",
    "print(grid.best_params_)\n",
    "\n",
    "print(gridlinear.best_score_)\n",
    "print(gridlinear.best_params_)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.15121732  0.42697309 -0.03574443  0.00070679 -0.03589818  0.23132695\n",
      "   0.09281101  0.05218826]]\n"
     ]
    }
   ],
   "source": [
    "#试试不用5折交叉\n",
    "SVC1=LinearSVC()\n",
    "\n",
    "SVC1.fit(x_train,y_train)\n",
    "print(SVC1.coef_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7682291666666666\n",
      "{'C': 100, 'gamma': 0.001}\n"
     ]
    }
   ],
   "source": [
    "#rbf核\n",
    "gammas=[0.0001,0.001,0.01,0.1,1]\n",
    "\n",
    "param_gridrbf={'C':Cs,'gamma':gammas}\n",
    "\n",
    "gridrbf=GridSearchCV(SVC(kernel='rbf'),param_gridrbf,cv=5,n_jobs=4)\n",
    "gridrbf.fit(x_train,y_train)\n",
    "print(gridrbf.best_score_)\n",
    "print(gridrbf.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.65104167 0.65104167 0.65104167 0.65104167 0.65104167 0.65104167\n",
      " 0.65104167 0.65104167 0.65104167 0.65104167 0.65104167 0.65104167\n",
      " 0.65234375 0.76171875 0.65104167 0.65104167 0.68489583 0.76692708\n",
      " 0.75651042 0.70572917 0.68489583 0.76432292 0.76171875 0.7421875\n",
      " 0.69010417 0.76302083 0.76822917 0.75911458 0.71354167 0.69010417\n",
      " 0.76822917 0.75651042 0.76302083 0.68098958 0.69010417]\n",
      "0\n",
      "0.0001\n",
      "1\n",
      "0.001\n",
      "2\n",
      "0.01\n",
      "3\n",
      "0.1\n",
      "4\n",
      "1\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "test_means=gridrbf.cv_results_['mean_test_score'] #均值\n",
    "test_stds=gridrbf.cv_results_['std_test_score']   #方差\n",
    "n_Cs=len(Cs)\n",
    "number_gamms=len(gammas)\n",
    "\n",
    "print(test_means)\n",
    "test_scores=np.array(test_means).reshape(n_Cs,number_gamms)\n",
    "\n",
    "test_stds=np.array(test_stds).reshape(n_Cs,number_gamms)\n",
    "\n",
    "x_axis=np.log(Cs)\n",
    "for i,value in enumerate(gammas):\n",
    "     pyplot.plot(x_axis,test_scores[:,i],label=gammas[i])\n",
    "     print(i)\n",
    "     print(value)\n",
    "#print(test_means)\n",
    "pyplot.legend()\n",
    "pyplot.xlabel('log(C)')\n",
    "pyplot.ylabel('accuary')\n",
    "\n",
    "pyplot.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
